<?php
import("ORG.Util.Function");
import("@.Org.Utils");


class BookingAction extends CommonAction{	
	
	public function _initialize(){
		parent::_initialize();		
		$param           =    $this->_get('_URL_');
		$controller      =    $param[0];
		$action          =    $param[1];		
		//language
		$lang            =    L($action);  		
		$manage          =    L('manage');		
		$this->assign("manage",$manage);
		$this->assign("current",$lang);
		$this->assign("lang",$lang);
	}
	/**
	 * 缺货登记表
	 * 
	 */
	public function booking_list(){		
		$BookingModel		=	new BookingModel();		
	    $sql_booking_list	=	$BookingModel->get_sql_booking_list();
	        
	    $param = array(
				'result'=>$sql_booking_list,					//分页用的数组或sql
				'listvar'=>'bookingList',		//分页循环变量
				'listRows'=>10,					//每页记录数
				'parameter'=>'cat_id=' . $cat_id . "&intro_type=" . $intro_type . "&invalid=" . $invalid,//url分页后继续带的参数
				'target'=>'content',	    	//ajax更新内容的容器id，不带#
				'pagesId'=>'page',				//分页后页的容器id不带# target和pagesId同时定义才Ajax分页
				'template'=>'Booking:booking_list',//ajax更新模板
		);
		$this->booking_list_page($param);	
		$this->display();
	}
	
	/**
	 +----------------------------------------------------------
	 * 分页函数 支持sql和数据集分页 sql请用 buildSelectSql()函数生成
	 +----------------------------------------------------------
	 * @access public
	 +----------------------------------------------------------
	 * @param array  $result 排好序的数据集或者查询的sql语句
	 * @param int    $totalRows  每页显示记录数 默认21
	 * @param string $listvar    赋给模板遍历的变量名 默认list
	 * @param string $parameter  分页跳转的参数
	 * @param string $target  分页后点链接显示的内容id名
	 * @param string $pagesId  分页后点链接元素外层id名
	 * @param string $template ajaxlist的模板名
	 * @param string $url ajax分页自定义的url
	 +----------------------------------------------------------
	 */
	public function booking_list_page($param) {
		extract($param);
		//总记录数
		$flag = is_string($result);
		
		$listvar = $listvar ? $listvar : 'list';
		$listRows = $listRows? $listRows : 21;
		if ($flag){
			$totalRows	=	count(M()->query($result));
		}			
		else{
			$totalRows = ($result) ? count($result) : 1;
		}
		//创建分页对象
		if ($target && $pagesId)
			$p = new Page($totalRows, $listRows, $parameter, $url,$target, $pagesId);
		else
			$p = new Page($totalRows, $listRows, $parameter,$url);
		//抽取数据
		if ($flag) {
			$result .= " LIMIT {$p->firstRow},{$p->listRows}";
			$voList = M()->query($result);
		} else {
			$voList = array_slice($result, $p->firstRow, $p->listRows);
		}
		$pages = C('PAGE');//要ajax分页配置PAGE中必须theme带%ajax%，其他字符串替换统一在配置文件中设置
		
		// 格式化时间
		foreach ($voList AS $key => $val){
	        $voList[$key]['booking_time'] = local_date($GLOBALS['_CFG']['time_format'], $val['booking_time']);
	    }		
	    
		//可以使用该方法前用C临时改变配置
		foreach ($pages as $key => $value) {
			$p->setConfig($key, $value); // 'theme'=>'%upPage% %linkPage% %downPage% %ajax%'; 要带 %ajax%
		}
		//分页显示
		$page = $p->show();		
		//模板赋值
		$this->assign($listvar, $voList);
		$this->assign("page", $page);
		if ($this->isAjax()) {//判断ajax请求
			layout(false);
			$template = (!$template) ? 'ajaxlist' : $template;
			exit($this->fetch($template));
		}
		return $voList;
	}
	
	/**
	 * 缺货登记订单详细信息
	 * 
	 */
	public function booking_info(){		
		$id 			= 	intval($_REQUEST['id']);
		$BookingModel	=	new BookingModel();		
	    $this->assign('send_fail',    !empty($_REQUEST['send_ok']));	    
	    $this->assign('booking',      $BookingModel->get_booking_info($id));
		$this->display();
	}
	
	/**
	 * 处理提交数据
	 * param	
	 * 
	 */
	public function update_booking(){	
	    $dispose_note 	= 	!empty($_POST['dispose_note']) ? trim($_POST['dispose_note']) : '';	
	    $sql 			= 	"UPDATE  " . 'ybr_booking_goods' .
	            			" SET is_dispose='1', dispose_note='$dispose_note', ".
	                    	"dispose_time='" .gmtime(). "', dispose_user='".$_SESSION['admin_name']."'".
	            			" WHERE rec_id='$_REQUEST[rec_id]'";
	    M()->query($sql);	
	    /* 邮件通知处理流程:通知对方 */
	    $this->success("操作成功",U('booking/booking_info') . '?id=' . $_REQUEST[rec_id]);
	}
	
}









